Introducing Dify Workflow
https://scrapbox.io/files/662fc998ba59bc0025f8974b.png
ポイント
Whyはこれ
単一プロンプトのLLMでは困難な、予測可能な出力を複数ステップのロジックで生成するためのギャップを埋めるため
「Template」と「Variable Assigner」ノードでは、ノード間で変数を再構築および再割り当てできるようにし、複雑なデータ変換を可能にする。
「HTTP Request」ノードを使用すると、ワークフローから直接HTTP要求を行うことで、外部サービスと統合できる。
「Code」ノードを使用すると独自のPythonまたはNodeJSコードを挿入でき、カスタムロジックを実装し、強力な方法でデータを操作できる。
感じたこと
OSS最高。
Workflow自体をAPIで呼び出せ、どんなシステムにも入れることができるって凄すぎ。
いろんなノードが用意されていて、文字通りなんでもできそう。
が、Dify Workflowではこれが容易になる。
ワークフローをexportできるため、一度作ったやつを他のメンバーと共有できる...!!
まるで、GPTsを共有するかのように(それ以上に強力)
ファネルを構築して、共有するかのように
概要
新機能のAI Workflowのローンチを心から喜んでお知らせいたします。直感的なドラッグ&ドロップインターフェースを通じて、予測可能な出力を複数ステップのロジックで実現します。
DifyのGuです。私たちの最新機能であるWorkflowを皆さんにお知らせできることを大変嬉しく思います。
この1年間、LLMの大きな可能性を皆目の当たりにしてきました。しかし、多くの方が直接経験されているように、その可能性を堅牢で実運用に適したソリューションに活用することには、独自の課題が伴います。Workflowはその課題に対する私たちの答えです。単一プロンプトのLLMでは困難な、予測可能な出力を複数ステップのロジックで生成するためのギャップを埋めるように設計されています。
Workflowは現在、スタンドアロンアプリタイプとしてアクセス可能です。また、複雑な会話フロー(Chatflow)を構築するために「Chatbot」アプリでも有効化できます。ぜひ今すぐ試してみてください。
ChatflowはChatbotアプリの現在の「エキスパートモード」に取って代わる予定です。既存のアプリを「エキスパートモード」で編集し続けるか、ワークフローに変換するかを選択できます。
ドラッグ、ドロップ、デプロイ
Workflowの中心は、直感的なドラッグ&ドロップインターフェースです。無限のキャンバス上で、異なるノードを接続してワークフローを構築します。中心的だと考えているノードには以下のようなものがあります。
LLM
定義された入力と出力により、ノード内でラージランゲージモデルの力をカプセル化。
ツール
組み込みおよびカスタムツールを活用し、ワークフローで実現できることを拡張。
Question Classifier
LLMをフードの下で利用しながら、ユーザー入力を自動的に分類し、会話とプロセスを誘導。
Knowledge Retrieval
既存のナレッジベースから外部コンテキストを取得し、LLMを強化。
Code
カスタムのPythonまたはNode.jsコードを実行。
If/Else Block
条件付きロジックを定義し、分岐したワークフローを作成。
https://scrapbox.io/files/662fcad26b8a6f0025381366.png
しかし、これはほんの始まりに過ぎません。Workflowは拡張可能に設計されており、利用可能なノードのタイプを継続的に拡張できます。コミュニティのニーズとユースケースについてより多くを学ぶにつれ、さらに幅広いアプリケーションをサポートするために新しいノードを導入していきます。
柔軟な設定
Workflowの主な強みの1つは柔軟性です。すべてのノードは設定可能で、ワークフローを正確なニーズにカスタマイズできます。各ノードの入力と出力を定義でき、データがワークフロー全体をシームレスに流れるようにします。
より高度なデータ操作のために、Workflowは特別なノードタイプを提供します。「Template」と「Variable Assigner」ノードを設計し、ノード間で変数を再構築および再割り当てできるようにし、複雑なデータ変換を可能にします。
「HTTP Request」ノードを使用すると、ワークフローから直接HTTP要求を行うことで、外部サービスと統合できます。
そして最大限の制御のために、「Code」ノードを使用すると独自のPythonまたはNodeJSコードを挿入でき、カスタムロジックを実装し、強力な方法でデータを操作できます。
💡変数の割り当て、Web Browsing、Code実行(カスタムロジック) などなんでもできるな...
Difyエコシステムとのシームレスな統合
WorkflowはDifyエコシステムにぴったりとフィットします。組み込みおよびカスタムツールのすべてをネイティブにサポートしており、ワークフローでDifyプラットフォームの全能力を活用できることを保証します。
他のすべてのDify機能と同様に、WorkflowはAPIに対応しており、ワークフローを既存のアプリケーションやシステムに簡単に統合できます。そして、組み込みの監視機能により、主要な使用データをキャプチャして、ワークフローを時間の経過とともに監視および最適化できます。
堅牢なデバッグとテスト
LLMアプリケーションの構築には課題があることを理解しているため、Workflowには堅牢なデバッグとテストユーティリティを直接統合しました。このツールを使用すると、ワークフローをエンドツーエンドで簡単にテストでき、アプリケーションが最初から最後まで期待どおりに動作することを確認できます。個々のノードも個別にテストでき、問題をすばやく特定できます。すべてのテスト実行は自動的にログに記録され、ワークフローの動作の詳細な記録が提供されます。問題が発生した場合は、テスト履歴をたどって問題を特定し、是正措置を取ることができます。LLMアプリケーションのような複雑なシステムを扱う際、このレベルのトレーサビリティは非常に重要です。
DSLによる移植性と相互運用性
Workflowの最もクールな機能の1つは、ドメイン固有言語(DSL)のサポートです。 DSLを使用すると、ワークフローを簡単にエクスポートし、他のワークスペースにインポートできます。これにより、業界で比類のない移植性と相互運用性が提供されます。ベンダーロックインはもう必要ありません。ワークフローをシステム間で自由に移動し、思いのままにカスタマイズできます。この機能により、コミュニティ内の他のメンバーとのコラボレーション、共有、構築の可能性が広がります。